(function () {
    function foo (n) {
        if (n === 1) {
            return n;
        } else {
            return n * arguments.callee(n-1);
        }
    }
})();
